package org.edu.modules.common.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

import org.edu.modules.common.entity.VeBaseAppUser;
import org.edu.modules.common.vo.VoAppUserBySearch;

public abstract interface IVeBaseAppUserService extends IService<VeBaseAppUser> {
    public abstract int updateAppUserPasswordById(String pwd, String strength, String id);

    public abstract int addSysUser(VeBaseAppUser veBaseAppUser);

    public abstract VeBaseAppUser getPwdAndSalt(VeBaseAppUser veBaseAppUser);

    public abstract String pwdVerify(String pwd);

    public abstract Integer getIdByRoleCode(String code);

    public abstract VeBaseAppUser getAppUserByUserId(String userId);

    public abstract Map getSysRoleUser(String userId, Integer roleId);

    public abstract int addSysRoleUser(String userId, Integer userRoleId);

    public abstract List<Map<String, Object>> queryOrganUserTreeList(String paramString);

    public abstract List<Map<String, Object>> getAppUserBySearch(VoAppUserBySearch voAppUserBySearch);

    public abstract int updateAppUserByUserId(String userId);

    public abstract int updateSysUserDel(String userId);

    public abstract int deleteSysUser(String userId);

    public abstract int updateSysUserDelBatch(List<String> userIds);

    public abstract int deleteOrgan(String userId);

    public abstract int deleteRole(String userId);
    public abstract int deleteRole(String userId, Integer roleId);

    public abstract List<Map<String, Object>> queryResourcePageList();

    public abstract IPage<Map<String, Object>> getDataListByTableName(Page paramPage, String paramString);

    public abstract List<Map<String, Object>> queryColumnNameListByTableName(String tableName);

    public abstract List<Map<String, Object>> querySysRoleList();

    public abstract List<Map<String, Object>> queryAppUserTeacherList();

    public abstract int stopAppUserByUserId(String userId);

    public abstract List<Map<String, Object>> queryAppManageList();

    public abstract List<Map<String, Object>> getUnreadMessageCountUserId();

    public abstract List<Map<String, Object>> queryAppUserListByRoleId(Integer roleId);
}

